حافظه رم در گوشی هوشمند چیست و چه موقع به مقدار بیشتری از آن نیاز داریم؟ در این مقاله به میزان حافظهی مورد نیاز در گوشی هوشمند میپردازیم.
کمپانی ویوو درصدد عرضه یک گوشی هوشمند با ۱۰ گیگابایت رم است. این مقدار رم تقریبا به اندازهی بسیاری از رایانههای شخصی مخصوص بازی و حدود ۶ گیگابایت بیشتر از اکثر گوشیهای موجود در بازار است. این موضوع ذهن بسیاری از کاربران را مشغول میکند که چه کسی در جهان به ۱۰ گیگابایت رم نیاز دارد و آیا این یعنی گوشی ما به بیش از ۴ گیگابایت رم نیازمند است؟
اولین بار نیست که گوشیها را با این حجم عظیم رم میبینیم.وان پلاس ۵ تی، رم ۸ گیگابایتی دارد و استفاده از ۶ گیگابایت رم در برخی از گوشیها تقریبا شایع است. اما حافظه رم چیست؟ چگونه گوشی شما از رم استفاده میکند و چرا یک گوشی هوشمند به حافظهای ۲۵۰ درصد بیش از میزان ضروری نیاز دارد؟
حافظه رم چیست؟
رم یا حافظه دسترسی تصادفی (Random Access Memory)، فضای ذخیرهسازی تصادفی دیجیتال کوتاهمدت است. رایانهها از حافظه رم برای نگهداری دادههای برنامههای فعال در CPU و هستهی سیستمعامل استفاده میکند؛ زیرا خواندن و نوشتن دادهها در رم بسیار سریع است. حتی سریعترین هارددیسکها و فلشها زمانی که نیاز به خواندن یا نوشتن آنی داده دارید، سرعت بسیار کمتری نسبت به رم دارند؛ برای مثال CPU از حافظه کش اختصاصی خود برای نگه داشتن دادههای مورد نیاز محاسباتی استفاده میکند اما مقدار این حافظه پنهان یا کش کافی نیست.
بهعنوان مثال تراشه اسنپدراگون ۸۳۵ دارای دو مگابایت حافظه پنهان برای هستههای با کارایی بالا و یک مگابایت برای هستههای با عملکرد پایین است. دو مگابایت حافظه کش فقط برای نگهداری آنچه در حال حاضر مورد استفاده قرار میگیرد کافی است؛ بنابراین باید جای دیگری برای ذخیرهسازی دادههایی که بعدا مورد استفاده قرار میگیرند، وجود داشته باشد.
هسته سیستم عامل مانند پلیس راهنمایی ناظر بر تمام فعالیتهایی است که نیاز به استفاده از سختافزار گوشی شما دارند. برای مثال هنگامی که یک بازی یا هر نوع برنامه دیگری میخواهد یک صفحه جدید را نشان دهد، دادههای مورد نیاز آن وارد رم میشود در نتیجه سیستمعامل میتواند آن را تجزیه کند، پردازنده و پردازنده گرافیکی هرگونه عملیات مورد نیاز را انجام میدهند و آن را به صفحه نمایش ارسال میکنند. سپس میتوان نقاط رنگی مناسب را در مکانهای مناسب دید که در نهایت تصویر مورد نظر را شکل میدهد.
به طور کلی برای درک عملکرد حافظههای رم باید سه نکتهی اساسی را در نظر داشته باشید:
رم مکانی برای نگهداری دادهها برای مدت کوتاه است و اطلاعات ذخیرهشده در آن میتوانند بسیار سریع خوانده یا نوشته شوند.
دادههای موجود در رم زمانی که گوشی خود را خاموش میکنید، پاک میشوند.
بخشی از حافظه رم گوشی به محض اینکه شما آن را روشن کنید قابل استفاده است و قبل از آن هیچ برنامهای یا حتی سیستمعامل قادر به استفاده از آن نیست. این امر برای تمامی رایانههایی که در آنها رم وجود دارد صادق است و تقریبا همهی آنها به همین روش از رم استفاده میکنند.
چگونه گوشی شما از حافظه رم خود استفاده میکند؟
حافظه رم در گوشی شما بیشتر بهعنوان مکانی برای تجمع دادههای برنامههای در حال اجرا است. در سادهترین حالت، با وجود رم بیشتر گوشی میتواند برنامههای بیشتری را در پسزمینه اجرا کند بدون اینکه سرعت اجرا را پایین بیاورد. اما در واقع انجام این کار به این سادگی نیست و رم در گوشی شما قبل از اینکه سیستمعامل حتی روشن و اجرا شود، استفاده میشود.
در این مقاله وارد مسائلی مانند مدیریت سطحپایین در پردازنده یا مباحثی مانند compcache نمیشویم، اما اساسا چگونگی استفاده از حافظه رم در گوشی به این صورت است:
فضای مورد نیاز هسته مرکزی سیستمعامل
سیستمعامل اندرویدبا استفاده از هستهی لینوکس اجرا میشود. هسته در یک نوع خاص از فایل فشرده ذخیره میشود که بهطور مستقیم در طول روشن بودن دستگاه در حافظه قابل استخراج است. این حافظه، هسته سیستمعامل و درایورها و ماژولهای اصلی را نگه میدارد که سختافزارها را کنترل و دادههای ورودی و خروجی از هسته را ذخیره میکنند.
حافظه رمدیسک برای فایلهای مجازی
برخی از پوشهها و فایلها در ریشه سیستم وجود دارند که «واقعی نیستند». آنها فایلهای شبه نوشتهشده در بوت هستند و چیزهایی مانند سطوح باتری و اطلاعات سرعت پردازنده را نگه میدارند. در سیستمعامل اندروید، کل فهرستهای راهنما از این سیستمهای شبهفایل استفاده میکنند و در حافظه رم ذخیره میشوند.
مودمهای ارتباط مخابراتی
اطلاعات مربوط به IMEI و تنظیمات رادیویی شما در حافظه رم NV ذخیره میشود (حافظههای نامتغیر که هنگام خاموش کردن گوشی خودبهخود پاک نمیشوند) که در هنگام بارگذاری اولین داده در رایانه همراه با نرمافزار موردنیاز برای پشتیبانی از مودم گوشی وارد رم میشوند و فضا برای ذخیرهسازی همه اینها در رم محفوظ است.
پردازندهی گرافیکی
پردازنده گرافیکی گوشی شما برای فعالیت نیاز به حافظه دارد. این حافظه VRAM نامیده میشود. در گوشیهای ما از GPU-های مجتمع استفاده میشود که رم مستقل ندارند و از رم سیستم برای این مورد هم استفاده میشود.
هنگامی که این کار انجام و سیستمعامل گوشی روشن و اجرا میشود، آنچه از رم گوشی باقی مانده است برای اجرای برنامهها استفاده میشود. بخشی از رم نیز از طریق تنظیمات «minfree» برای کارهایی که نیاز به سرعت دارد (عملکرد سیستم عامل و مدیریت سطح پایین و اجرای اولیه برنامهها) محفوظ است. این تنظیمات پایهای نرمافزاری توسط کسانی که سیستمعامل را نوشته و هسته را برای مجموعه گوشی هوشمند شما ساختهاند طرح شده است و همواره مقدار کمی از رم را آزاد میگذارند تا عملکردهای ضروری بتوانند بدون وقفه اجرا شوند.
به همین دلیل است که مقدار رم دردسترس موجود در تنظیمات گوشی همان مقدار حافظه رم نوشتهشده در مشخصات گوشی شما نیست. در واقع رم نوشتهشده در مشخصات دستگاه روی گوشی نصب شده است؛ اما بخشی از آن (معمولا حدود ۱ گیگابایت یا بیشتر) برای این تنظیمات سیستمی ذخیره میشود و برنامههایتان برای استفاده از باقیمانده رم تلاش میکنند.
تفاوت مدیریت حافظه رم در اندروید و سایر سیستمعاملها
ممکن است در مورد مدیریت بد یا خوب حافظه در اندروید شنیده باشید. این امر به دلیل استفاده ازهسته لینوکس است زیرا اندروید هم یک سیستم عامل مبتنی بر هسته لینوکس درست مانند اوبونتو است. این سیستمعامل طوری طراحی شدهاست تا تمامی مقدار رم نصبشده در دستگاه را در اختیار برنامهها و دادههای مربوط به آن برای رسیدن به بیشترین سرعت در اجرا در دسترس قرار دهد و تنها مقدار minfree را جهت انجام وظایف سیستمی خالی نگه دارد.
تفاوتهای بین اندروید و ویندوز ۱۰
روش کار در اندروید با روشکار در ویندوز متفاوت و به مک بسیار نزدیک است. ویندوز حافظه رم را برای برنامهای که به آن نیاز دارد باز میکند؛ اما لینوکس برنامه را در حافظه نگه میدارد تا زمانی که حافظه در جای دیگر مورد نیاز باشد. البته این کار توسط تنظیمات minfree شرکتی که مجموعه گوشی شما را ساخته است انجام میشود. بر این اساس برنامهها و فرآیندهای آنها در اولویتی بر اساس آن چه انجام میدهند، چگونه آنها را انجام میدهند و زمانی که آخرین بار روی صفحه نمایش بودهاند قرار میگیرند. هنگامی که میخواهید یک برنامه جدید را باز کنید، برنامههای دارای اولویتهای پایینتر بسته میشوند، بنابراین برنامهی جدید به حافظهی رم مورد نیازش دسترسی پیدا میکند.
اندروید یک سیستم عامل مبتنی بر هسته لینوکس مانند اوبونتو است
هنگام کار با گوشی هوشمند از برنامههای خاصی بیشتر استفاده میکنید. این برنامهها تمایل دارند در حافظه رم باقی بمانند و درحال اجرا باشند تا بتوانند در یک لحظه در دسترس باشند. در عوض داشتن حافظه رم آزاد به این معنی است که برنامهها نیاز به راهاندازی مجدد پروسههایی دارند که به شما اجازه میدهد با آنها ارتباط برقرار کنید؛ در نتیجه نسبت به حالتی که برنامه در رم نگهداری میشد پردازش آن را کندتر و باتری بیشتری مصرف میکند.
تمامی این مطالب برای گوشیهای اندروید یا IOS صدق میکند؛ اما با کامپیوتر ویندوز شما یا حتی کرومبوک که یک سیستمعامل مبتنی بر لینوکس است اما با استفاده از zcache و sandbox یک طرح مدیریت بسیار متفاوت و سفارشی رم را ارائه میکند، متفاوت است.
داشتن رم بیشتر در گوشی چه کارایی برای ما دارد؟
داشتن رم بیشتر در گوشی اجازه میدهد برنامههای بیشتری برای اجرا در پسزمینه فعال شوند. اما توضیحات جالبتری وجود دارد.
اولین گوشی اندروید بهنام T-Mobile G1 درحدود ۱۹۲ مگابایت رم داشت؛ درحالیکه پیکسل ۲ حدود ۲۲ برابر بیشتر از آن و ۴ گیگابایت رم دارد. ۸ گیگابایت یا ۱۰ گیگابایت رم برای یک گوشی معمولی اندروید کاملا افراطی است. گوشیهایی مانند نکسوس گوگل یا گوشیهایی با اندروید گو و اندروید وان میتوانند با ۱.۵ تا ۲ گیگابایت حافظه آزاد پس از بوت شدن گوشی بهراحتی کار کنند. بنابراین گلکسی اس ۸ هم میتواند؛ اما فقط به این دلیل که minfree طوری تنظیم شده است تا برنامه لانچر (رابط کاربر) مجبور باشد همواره در رم باقی بماند و از بخشی از رم موجود استفاده کند، نیاز به رم بیشتر دارد و به همین علت رابط کاربری آن سنگین است. البته این شرکت انجام این کار را از هنگام عرضه گلکسی اس ۶ آغاز کرده است که بتواند تأخیر و کندی رابط کاربری را خنثی کند.
با این همه، میبینیم که یک گوشی مانند گلکسی اس ۸ نیاز به نصب مقدار بیشتری رم دارد البته امروزه تقریبا اکثر گوشیهای موجود ۴ گیگابایت رم دارند و تفاوت زیادی در بازدهی آنها وجود ندارد؛ بجز نکسوس که با توجه به رابط کاربری سبکش، حافظهی دردسترس بیشتری برای اجرای برنامهها دارد. به همین دلیل است که سامسونگ، الجی، اچتیسی و دیگران راههایی برای توقف فرآیندهای در حال اجرا در خارج از تنظیمات minfree برای زمانهایی که نیاز به کمی افزایش عملکرد دارند، ابداع کردند. اگر تمام برنامههای غیر ضروری درحال اجرا در پسزمینه را متوقف کنید، سایر برنامهها کمی سریعتر اجرا میشوند.
اندروید وان و اندروید گو با ۱.۵ تا ۲ گیگابایت رم به راحتی کار میکنند
اگر همهچیز را یک گام به پیش ببریم و از امکاناتی مانند دسکتاپ DeX سامسونگ استفاده کنیم، داشتن رم بیشتر میتواند یک مزیت بزرگ باشد. برای مثال سامسونگ دکس میتواند یک قسمت از رم را برای اجرای برنامههای اختصاصی و قسمت دیگر را برای پردازش گرافیکی اختصاص دهد در این صورت میتوان برنامهها را بدون کاهش عملکرد اجرا کرد. پس اگر شما در حال توسعه نرمافزار برای گوشی با رم اضافه هستید، فضای بیشتری برای خلاقیت خواهید داشت.
در حالت ایدهآل، یک گوشی با حافظه رم فیزیکی اضافی میتواند DMAا(Direct Memory Access) را برای رابط کاربر فعال کند. این عمل قسمتی از رم را در هنگام بوت فقط برای صفحه اصلی، ورودی لمسی و هر چیز دیگری که پاسخگویی بیوقفه گوشی را بالا ببرد صرف نظر از وجود یا عدم وجود سایر دادهها در رم اختصاص میدهد.
همواره میتوان از رم اضافه استفاده کرد
رم بیشتر اجازه میدهد که هسته بخشی از حافظه را به شیوه متفاوت از پارامترهای memmap تنظیمشده برای تنظیمات minfree در زمانی که هسته ساخته شده است مدیریت کند. نرمافزار و سیستمعامل همواره ورودی و خروجی را به رابط کاربر اصلی کنترل میکنند و هیچ برنامهای قادر به نوشتن هیچ یک از دادهها در این بخش از رم نیست و رابط کاربری همیشه برای عمل به دستور ورودی شما آماده است.
در حال حاضر این ایده بهعنوان «حالت بازی» یا حالت دسکتاپ یا هر راه دیگری که گوشی اندروید شما در آن قابل استفاده است گسترش پیدا کرده و همچنین از رم اضافه برای اجرای بازیهای سهبعدی، اجرای تعداد زیادی نرمافزار بدون متوقف کردن سایر برنامهها که در پسزمینه وجود دارند یا قراردادن گوشی در داک یا پوسته لپتاپ برای استفاده در حالت دسکتاپ استفاده میشود.
حافظه رم ارزان است و داشتن حافظه بیشتر عالی به نظر میرسد
شرکتها هزینه بسیار زیادی برای طراحی یک گوشی جدید با رم بیشتر میپردازند؛ اما بیشتر هزینه آنها به این خاطر است که مدل دیگری برای تولید و لیست قطعات دیگری برای خرید دارند. هنگام خرید در تعداد بالا درصد کمی از هزینهها صرف خرید تراشههای اصلی که درون گوشی قرار میگیرند؛ اما میتوان گفت که گوشی شما راه درازی را از زمان معرفی با ۶ یا ۸ یا حتی ۱۰ گیگابایت حافظه رم، تا رسیدن بهدستتان طی میکند که قطعا پرهزینه خواهد بود.
برای علاقهمندان و طرفداران فناوری، داشتن رم بیشتر همیشه جذاب است. البته دیدن نرم افزار بهینهشدهای که میتواند بروی سختافزار ضعیف اجرا شود لذتبخش است؛ زیرا این یک هنر است و نوشتن کد میتواند زیبا باشد؛ اما داشتن رم اضافه به این معنی است که یک وسیله میتواند کارایی چند دستگاه را داشته باشد. بنابراین با مشاهده ۸ گیگابایت رم در مشخصات گوشی بلافاصله به آن علاقهمند میشویم، به همان شیوه که نمایشگر با رزولوشن بالا در ما ایجاد انگیزه میکند.
دیدن مشخصات بهتر یک راه مطمئن برای جذب مصرف کننده است
شرکتهایی که گوشی میسازند این را میدانند. آنها همچنین میدانند که قراردادن حافظه بیشتر در گوشی به این معنی است که میتوانند بهینهسازی نرمافزاری کمتری (صرفهجویی در هزینه و زمان بیشتر) انجام دهند یا بیشتر روی طراحی نسخه جدید اندروید خود تمرکز کنند.
در هر صورت، بعضی از ما فقط به خاطر مشخصات جذاب گوشی هزینه زیادی برای خرید میکنیم و به نظرات استفادهکنندههای قبلی بها نمیدهیم. این موضوع بیشتر در مصرفکنندههای شرقی دیده میشود؛ گوشیهای همراه با ویژگیها و مشخصات قابل توجه بیشتر در هند و چین دو بازار جهانی که بزرگترین پتانسیل رشد در صنعت را نشان میدهند بهتر بهفروش میروند؛ زیرا بیشتر مردم هند و چین سختافزار قابل توجه و جذاب را دوست دارند. از اینرو اهمیت دادن به سلیقه مشتریان عمل هوشمندانهای است که شرکتهای بزرگ سازنده گوشی همراه بهخوبی اجرا میکنند.
همه این حرفها را به چه دلیل زدیم؟
پس از بررسی تمام موارد و جزئیات بالا، احتمالا متوجه شدید که در حال حاضر به بیش از ۴ گیگابایت رم نیاز ندارید. همهی این تغییرات به این خاطر است که گوشیها شروع به انجام کارهای بیشتر کردهاند و به همین دلیل نکسوس وان با ۱ گیگابایت حافظه رم و پیکسل ۲ با ۴ گیگابایت رم عرضه میشود.
مهم این است که توانایی این حافظههای ۴ یا ۶ گیگابایتی بسیار سریع را در محقق کردن ایدهها و ویژگیهای جدید درک کنید. اجازه ندهید که حافظه رم بیشتر، هنگام خرید یک گوشی تنها دلیل شما برای تصمیمگیری باشد.